Feld im Selektionsbild nur bei Anlage einer Variante sichtbar?
Ich bin gerade über die Aufgabe gestolpert, dass ein Feld im Selektionsbild generell ausgeblendet werden soll. Bei der Anlage einer Variante jedoch, muss das Feld sichtbar sein.
Die Lösung ist relativ einfach: Im PBO des Reports (AT SELECTION-SCREEN OUTPUT) fragen wir das Systemfeld SUBTY ab und steuern mittels MODIFY SCREEN die Sichtbarkeit der Felder.
Coding
*== Parameter soll immer angezeigt werden PARAMETERS p_diag TYPE char10. *== Parameter soll nur in der Variantenansicht eingabebereit sein PARAMETERS p_vari TYPE char10 MODIF ID var. AT SELECTION-SCREEN OUTPUT. IF sy-subty = 20. "Hex:14, Bin:00010100" LOOP AT SCREEN. IF screen-group1 = 'VAR'. IF sy-slset = space. *== Keine Variante geladen: Feld ausblenden screen-active = '0'. ELSE. *== Variante ist geladen: Feld anzeigen (nicht eingabebereit) screen-input = '0'. ENDIF. MODIFY SCREEN. ENDIF. ENDLOOP. ENDIF.
Hardcore
Auf der Suche nach einer Lösung habe ich auch eine Alternative gefunden per Dirty-Assign im Systemprogramm RSDBRUNT eine Variable abzufragen:
FIELD-SYMBOLS <mode_Vari> TYPE c. ASSIGN ('(RSDBRUNT)SUBMIT_INFO-MODE_VARI') TO <mode_vari>. IF <mode_vari> IS ASSIGNED AND <mode_vari> = 'X'. "Pflege der Variante ENDIF.
Die Variante muss in beiden Fällen über die Transaktion SE38 angelegt werden.
Letzte Artikel von Enno Wulff (Alle anzeigen)
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024